Image processing systems are at the heart of digital image revolution. These systems process the captured digital image to enhance the clarity and details of the image using image processing algorithms. Such algorithms result in images that are substantially more accurate and detailed than previously achieved using older analog methods.
There remains, however, a substantial difference between how an image is perceived by a person and an image captured and reproduced on a display medium. Despite the improvements gained by conventional digital image processing systems, such systems are still deficient in reproducing an image with the same level of detail, color constancy, and lightness of an actual scene as the eye, brain, and nervous system of a human being. This is due in part because the human nervous system has a greater dynamic range compression than is available on current digital systems. Dynamic range compression refers to the ability to distinguish varying levels of light.
The human eye has a dynamic range compression of approximately 1000:1, which means that the human eye can distinguish approximately 1000 levels of light variations. By way of contrast, digital image systems typically use only eight bits per pixel which allows for a dynamic range compression of only 255:1. As a result, a digital image reproduced as a photograph would have far less detail in the darker and brighter regions of the photograph as compared to the actual scene perceived by a viewer.
Many techniques have been developed to compensate for this lighting deficiency. These techniques can be separated into two broad categories: (1) power law or nonlinear techniques (“non-linear transforms”); and (2) retinex techniques. Each have their respective limitations however.
Non-linear techniques use a non-linear relationship to expand one portion of the dynamic range while compressing another. These techniques generally enhance details in the darker regions at the expense of detail in the brighter regions. For example, each pixel of a digital image is represented using eight bits, and is assigned a luminance value somewhere in the range of 0 to 255, with 0 representing the lowest light level and 255 the highest. If a region comprises pixels having low light values, detail is lost because there is very little gradient between the light values for each pixel. For example, it is difficult for a viewer to look at an image and distinguish between a pixel having a luminance value of 23 and a pixel having a luminance value of 25.
To solve this problem, conventional image processing systems utilize non-linear techniques to increase the luminance values for neighboring pixels, thereby creating a greater degree of contrast between the pixels. Thus, the pixel having the luminance value of 25 might be assigned a higher value such as 28 to create a greater contrast between it and the pixel having a value of 23. However, one problem associated with these non-linear systems is that they provide greater distinctions between pixels regardless of what lightness value a pixel may have been originally assigned. This results in the brighter areas which already have a “washedout” appearance to become even more washed-out. Although these techniques result in better details in the darker regions, they do so at the expense of the brighter areas of the digital image. Further, these methods cannot handle contours and abrupt boundaries well.
Retinex techniques variations increase or decrease the luminance value for a pixel based on the luminance values of surrounding pixels. These techniques are particularly useful for enhancing boundaries between lighter and darker regions of an image. However, such techniques are unsatisfactory for a number of reasons. In one technique, a large uniform zones in the image are grayed out (i.e., shading effect). In another technique a shift in color occurs in some images (i.e., color distortion) and is computationally intensive.